Education: Confident(ial) with Inco [Thai]

สวัสดีครับผู้อ่านทุกๆท่าน

หากท่านกำลังสนใจการ Contribute ให้กับฝั่ง Privacy แล้ว ผมมีโปรเจคหนึ่งที่ผมสนใจ โดยเขามุ่งที่จะเป็น Confidential-as-a-Service ในการช่วยให้เราสร้าง smart contract ที่มีความ private บน blockchain ไหนๆก็ได้ โปรเจคนั้นมีชื่อว่า Inco ครับ

หมายเหตุ: ไม่ใช่คำแนะนำเพื่อการลงทุนและล่าแอร์ดรอป โปรดศึกษาก่อนตัดสินใจใช้งานคริปโต #NFA

Introduction

https://docs.inco.org/

Inco เป็น modular L1 blockchain ที่มุ่งเป็น Universal Confidentiality Layer สำหรับ Ethereum และ network อื่นๆ โดย Inco ได้รับความปลอดภัยจาก Ethereum และใช้เทคโนโลยี Fully Homomorphic Encryption (FHE) ทำให้ confidential states นั้นสามารถแยกประกอบและใช้งานได้ Inco ได้พัฒนา fhEVM ซึ่งเป็นการประกอบร่างระหว่าง FHE และ EVM ทำให้ developers สามารถสร้าง private smart contracts อีกทั้งทำการคำนวนต่างๆบน encrypted data ได้โดยไม่จำเป็นต้อง decrypt ข้อมูล Inco เข้ามาช่วยเปิดโลกของ Confidentiality (การรักษาความลับ) ผ่านการสร้าง confidential applications สำหรับ multiplayer ในขณะที่เทคโนโลยีฝั่ง Zero-knowledge (ZK) นั้นเหมาะสำหรับ single use cases มากกว่า Inco มาช่วยให้เหล่านักผจญภัยในโลก Web3 สามารถท่องโลกใหม่ในแบบที่ EVM และ ZK ไม่สามารถให้มาก่อนได้

Fundings

ปัจจุบัน Inco สามารถระดมทุน Seed Round ได้ 4.5 ล้านดอลล่าร์สหรัฐ

Roadmap

ปัจจุบัน Inco มีแผนที่จะ Mainnet ในไตรมาสที่ 4 ของปี 2024 (อ้างอิง)

Partnership

ปัจจุบัน Inco มี Partnerships ที่น่าสนใจ เช่น Hyperlane และ Altlayer ทำให้ dApps ต่างๆบน blockchains นั้นสามารถมาใช้งาน Confidentiality-as-a-Service (CaaS) จาก Inco ได้ อีกทั้งยังเสริมความ Confidentiality ให้กับ Restaked Rollups ของเครือ AltLayer ได้อีกด้วย

Overview

Protocol

https://docs.inco.org/inco-protocol/fully-homomorphic-encryption

FHE

FHE ใช้คณิตศาสตร์หมวด algebraic geometry, number theory และ lattice-based cryptography โดยหลักการคร่าวๆคือการใช้งาน Mathematical structures ที่มี operations ที่สามารถ operate บน encrypted data แล้วเมื่อ decrypt ข้อมูล จะได้ result เดียวกันเสมือน operate บนข้อมูลเดิม (ที่ unencrypted) เมื่อใช้ FHE ทำให้สามารถรักษา confidentiality ได้ตลอดกระบวนการการคำนวน

ผู้อ่านสามารถเรียนรู้ FHE เพิ่มเติมได้ที่ด้านล่างครับ

Homework: ลองหาความหมายของ Fully Homomorphic Encryption แบบแยกคำ

https://www.youtube.com/watch?v=aruz58RarVA

fhEVM

ตามที่เราได้เกริ่นไว้ว่า fhEVM = FHE + EVM

FHE ที่ Inco เลือกใช้นั้นมีชื่อว่า TFHE (Torus Fully Homomorphic Encryption) ครับ โดยประโยชน์หลักๆจากการใช้งาน FHE ตัวนี้ คือการที่ TFHE นั้นมีการโฟกัสกับการ optimization และ ประสิทธิภาพ

จากการใช้งาน mathematical structures ชื่อ torus (นึกภาพโดนัท) ผสานการ bootstrapping ทำให้ TFHE สามารถช่วยลด impact จากการเพิ่มขึ้นของ noise และช่วยเพิ่มประสิทธิภาพในส่วนของ homomorphic computations ได้

ย้ำว่า Inco ช่วย developers ในการยกระดับชุดเครื่องมือ Ethereum และ Solidity ต่างๆ อาทิ Remix, Hardhat และ Metamask

[Geek Alert] Math of TFHE

โดยสั้นๆ ข้อมูล $$M = a_0 + a_1 x +...+ a_{N-1} x^{N-1}$$ จะอยู่บน $$\mathcal{R}_q = \mathbb{Z}_q[X]/(X^N + 1)$$

แล้วเมื่อทำการ encrypt ข้อมูลด้วย secret key $$S = (S_0,...,S_N) \in \mathcal{R}_{q}^{N} = \mathcal{R}_q \times \mathcal{R}q \times ... \times \mathcal{R}q \text{ (N times)}$$ แล้ว encryted data จะกลายร่างเป็น $$(A_0,…,A{N-1},B)$$ มาอยู่บน $$\mathcal{R}{q}^{N+1}$$ที่มีการบวก และ การคูณ ตามลิ้งค์ (จะมาอธิบายเพิ่มในภายหลัง)

สำหรับท่านที่สงสัยว่าคำว่า Torus มาจากไหน ด้วยโครงสร้างทางคณิตศาสตร์จะทำให้เราสามารถมองสัมประสิทธิ์ของ M เป็นวงกลมคล้ายๆโดนัทได้

https://www.zama.ai/post/tfhe-deep-dive-part-2https://www.zama.ai/post/tfhe-deep-dive-part-2

ในส่วนคอนเซ็ปต์ของการทำความเข้าใจ bootstraping จะมี prerequisite สามบทความในการทำความเข้าใจในส่วนนี้ (จะมาอธิบายเพิ่มในภายหลัง)

[TK]

สำหรับท่านที่ต้องการศึกษารายละเอียดเกี่ยวกับ TFHE สามารถศึกษาเพิ่มเติมได้ที่นี่ก่อนครับ
(ใครไม่ชำนาญภาษาคณิตศาสตร์ งงสัญลักษณ์ไปก่อนนะครับ -/\-)

Confidential-as-a-Service

Inco ช่วยเสริมการรักษาความลับในฐานะ CaaS ไปยังเชน EVM และฝั่ง Cosmos ที่ยังขาดความสามารถในการรักษาความลับผ่าน bridges ต่างๆ รวมถึงตัว Inter-Blockchain Communication (IBC) เองโดย features ที่ Inco สามารถเสริมให้ได้มีตั้งแต่

  • Confidential states

  • Encryption/Decryption

  • Randomness

To-dos

As an end-user

เราสามารถใช้งาน Inco ผ่านกระเป๋า Metamask ได้เลย และอย่าลืมขอ faucet เพื่อใช้งานในส่วนถัดไป

https://arcade.inco.org/

ตัวอย่างการประยุกต์ใช้ที่ผมชอบก็จะมี

  • Confidential DID: เราสามารถ verify credit score ที่ encrypted ไว้แล้วได้

  • Private Voting: เราสามารถ vote โดยที่ไม่เปิดเผยข้อมูลการ vote ของเราได้เช่น จำนวนที่โหวดได้, ข้างที่โหวด

  • 2FA Authentication: สามารถทำ OTP แบบ on-chain ได้ (แอบว้าวอยู่นะ)

และในส่วนที่ผู้เขียนแอบชอบเป็นการส่วนตัว คือการนำมาประยุกต์ใช้กับการเล่นเกม Two Thirds Game ครับ

โดยตัวเกมจะให้ผู้เล่นมาร่วมคาดคะเนค่า 2 ใน 3 ของค่าเฉลี่ยตัวเลขทั้งหมดจากผู้เล่นเกมทั้งหมด และผู้ที่มีตัวเลขใกล้เคียงที่สุดก็จะเป็นผู้ชนะไป (รายละเอียดเพิ่มเติมที่นี่) เมื่อหลายปีที่แล้ว ผู้เขียนก็มีโอกาสได้เล่นเกมนี้กับเพื่อนๆชาวไทยบนเพจเฟสบุ๊คชื่อดัง โดยจะให้พิมพ์ตัวเลขในโพสแทน ผู้เขียนมาทราบทีหลังว่ามีระดับเซียนใช้ python programming มาช่วยคำนวนตัวเลขที่ใกล้เคียงที่สุดแบบ real-time และทำการเขียนตอบหน้าโพสก่อนหมดเวลา (front-run) ซึ่งท่านนั้นก็กลายเป็นหนึ่งในผู้ที่ชนะไป แต่พอเป็นการ encrypted ข้อมูลแล้ว คิดว่าน่าจะทำให้เกมมี fair มากขึ้น และเพื่อนๆก็สามารถเข้าไปร่วมสนุกกับเกมนี้ได้เช่นกันครับ

As a developer

สำหรับท่านที่สนใจพัฒนา private smart contract สามารถฝึกผ่านการเขียน smart contract ของเหรียญ ERC20 เวอร์ชั่น encrypted ตามที่ docs เขียนไว้ได้ครับ (ที่มา)

// SPDX-License-Identifier: MIT pragma solidity >=0.8.9 <0.9.0; import "fhevm/lib/TFHE.sol"; import "fhevm/abstracts/EIP712WithModifier.sol"; contract EncryptedERC20 is EIP712WithModifier { ... }

Conclusion

โดยภาพรวมแล้ว Inco เป็นอีกโปรเจคที่ผู้เขียนคิดว่ามีความน่าสนใจอยู่ไม่น้อยเลยทีเดียวครับ เพราะถ้า Inco สามารถตั้งตัวเป็น CaaS ได้จริงๆ ก็มีโอกาสสูงที่จะเป็น Infrastructure สำคัญสำหรับโลก Web3 เลยทีเดียว อย่างไรก็ตาม บทความนี้มีหลายจุดที่ผู้เขียนยังไม่ได้ตอบคำถาม เช่นการเปรียบเทียบกับการใช้เทคโนโลยีอื่นๆ ก็ขออนุญาตเก็บไว้เป็นการบ้านให้ท่านผู้อ่านสามารถไปลองค้นหากันเพิ่มเติมได้ครับ

Loading...
highlight
Collect this post to permanently own it.
lordachita logo
Subscribe to lordachita and never miss a post.